Programs Transactions

Transactions can be configured to perform specific actions that are associated to a program when the transaction is processed as an activity in OIPA. Since transactions can be independent or associated to a program, OIPAneeds a way to determine if a transaction is a program transaction or a non-program transaction.

Transaction math has a system provided flag available to indicate if a transaction belongs to a program. Use Activity:ISPROGRAM with a value of "True" or "False" to identify a program transaction. An example of this configuration is provided below:

<MathVariable VARIABLENAME="IsProgram" TYPE="EXPRESSION" DATATYPE="TEXT">Activity:ISPROGRAM</MathVariable>
<MathIF IF="IsProgram='false'">
<MathVariable VARIABLENAME="NotProgram" TYPE="VALUE" DATATYPE="TEXT">True</MathVariable>
</MathIF>
<MathIF IF="IsProgram='true'">
<MathVariable VARIABLENAME="NotProgram" TYPE="VALUE" DATATYPE="TEXT">False</MathVariable>
</MathIF>

Screen math has ISPROGRAM available as an auxiliary field. The prefix Program: is availble to transaction math, screen math and Post Assignment Validate Expressions.

Configuration Considerations

  • Program activities must be added to the EligibleTransactionsByPolicyStatus rule. This rule controls when an activity is available based on policy status, preventing program activities from processing on terminated contracts.
  • One program activity cannot shadow an activity from a different program.
  • A non-program activity cannot shadow any pending program activity.
  • The effective date of a program activity is always disabled
  • OIPA will not automatically process activities created by actions on the Program screen. Those activities will have to be manually processed or processed by the cycle.

Important: As a best practice, transaction types of NonReversible/NonReversing and Reversible/NonReversing should not be assigned to program transactions.